package com.deer.wms.ASN.manage.service;

import com.deer.wms.ASN.manage.model.pack.PackBill;
import com.deer.wms.ASN.manage.model.pack.PackBillBO;
import com.deer.wms.intercept.common.data.CurrentUser;
import com.deer.wms.inventory.model.Inventory.Inventory;
import com.deer.wms.project.root.service.SuperService;

import java.util.List;

/**
 * @author wei
 */
public interface PackBillService extends SuperService<PackBill> {

    /**
     * 收货拆分
     * @param packBillBO 拆分数据
     * @param acceptInv 收货库存
     * @param currentUser 当前用户
     */
    List<Inventory> pack(PackBillBO packBillBO, Inventory acceptInv, CurrentUser currentUser);

    /**
     * 物料拆分
     * @param packBillBO 拆分数据
     * @param inv 库存
     * @param currentUser 当前用户
     * @return 拆分后的库存
     */
    List<Inventory> splitCt(PackBillBO packBillBO, Inventory inv, CurrentUser currentUser);

    /**
     * 物料组装
     * @param srcInv 来源物料
     * @param combInves 组装物料
     * @param currentUser 当前用户
     * @return 返回组装后的物料
     */
    Inventory combCt(Inventory srcInv, List<Inventory> combInves, CurrentUser currentUser);
}
